<?php 

class clsFTP{
//atributos
var $sServidor;
var $sLoginServidor;
var $sPassServidor;
private static $instance = null;
	//Constructor
function __construct()
{
	$this->sServidor ='127.0.0.1';
	$this->sLoginServidor='abrhilFTP';
	$this->sPassServidor='abrhil';

}//fin del constructor
							
public function m_set($servidor,$login,$password)
{
	 $this->sServidor = $servidor;
	 $this->sLoginServidor=$login;
	 $this->sPassServidor=$password;
}
							

							
public function m_conectar(){
						@$conn_id = ftp_connect($this->sServidor);
						@$login=ftp_login($conn_id, $this->sLoginServidor, $this->sPassServidor);
						
						if ((!$conn_id) || (!$login))
						{
							die("FTP connection has failed !");
						} else
							  {
								$this->m_cambiarDirectorio($conn_id,'');
							    return $conn_id;
							  }
						
						}//fin m_busqueda

						
public function m_rutaActual($con){
						   
						   if ($con)
						   	   {
							    @$directorio=ftp_pwd($con);
								//ftp_quit($this->con); //Cierra la conexion FTP
							    return  $directorio;
							   }else
							   	    {
									 return false;
									}
						 }

						 
public function m_cambiarDirectorio($con,$directorio)
	{
		
		if ($con)
			{
			   if (@ftp_chdir($con, $directorio)) 
					{
					  return true;
					} 
				else { 
							return false;
					}
			}
			
			
	}

	
public function m_crearDirectorio($con,$directorio)
	{
	// $this->con=$this->m_conectar();
	 if ($con)
	 	{
			if (ftp_mkdir($con, $directorio)) 
						{
						 return true;
						} else 
							{
							return false;
							}
					 //Cierra la conexion FTP
			 
		}
		
	}

	
public function m_subirNivel($con,$nivelesASubir)
	{
	// $this->con=$this->m_conectar();
	 if ($con)
	 	{
			for ($i=0;$i<$nivelesASubir;$i++)
				{
				@ftp_cdup($con);
				}
		}
		
	}

	
public function m_subirArchivo($con,$ubicacion='',$archivo,$prefijo,$posicion)
{
$cambioCarpeta=true;

		if ($ubicacion!='')$cambioCarpeta=$this->m_cambiarDirectorio($con,$ubicacion);
			
		if ($cambioCarpeta)
		if (ftp_put($con,$prefijo, $archivo , FTP_BINARY))
				{
					return true;
				}else
					{
						return false;
					}
}

public function m_eliminarArchivo($con,$ubicacion='',$nombreArchivo)
{

$cambioCarpeta=true;

		if ($ubicacion!='')$cambioCarpeta=$this->m_cambiarDirectorio($con,$ubicacion);
		if ($cambioCarpeta)

			if (ftp_delete($con,$nombreArchivo))
				{
					return 1;
				}else
					 {
						return 0; 
					 }
			


}

				
	public static function m_singleton() 
				{
					if( self::$instance == null ) 
					{
						self::$instance = new self();
					}
					return self::$instance;
				}


}//fin de la clase